The present invention relates to a data processor and a data processing method, and more specifically to data processing with a plurality of devices.
Regarding data dealt with a car navigation system, not only maps but also multimedia data (moving images, music, sounds, etc.) has come to be used in recent years. Accordingly, along with main route guide, application programs such as a function of converting a moving image of TV broadcasting, etc. with a codec for moving images in real time and recording it in a hard disk, a function of displaying moving image content data recorded as digital data on an optical disk of DVD, etc. on a display device, and a function of recording music data recorded in a CD or in a portable music player in a hard disk operate simultaneously. Moreover, in order to realize these functions, a CPU of the car navigation system is connected with various high-function peripheral devices such as a TV tuner, a codec circuit for moving images, a hard disk IF circuit, an optical disk IF circuit of DVD, etc., a display device IF circuit, and a portable music player IF circuit.
Since a single application program uses a plurality of peripheral devices in this way, there is a problem that their controls become complex and a response speed and a throughput become worse. Moreover, there is a problem that a plurality of application programs cannot share peripheral devices and fast response speeds and high throughputs of the respective application programs cannot be realized.
On the other hand, Japanese patent application JP-Hei 11-272627 discloses a technology of increasing the throughput by connecting the devices according to FIFO and making the devices process data in a pipe-line manner from a dependent relation of the data processed by the respective devices.
Moreover, Japanese patent application JP-Hei 5-250188 discloses a technology of simultaneously executing the plurality of application programs by deciding priorities of the application programs and performing a priority control. For example, a thread of a priority of level 1 is executed ahead of threads with level 2 and level 3.
Moreover, in the case of an installed OS, there is provided a contrivance that, when a thread of level 3 executed by the thread of level 1 starts to be processed upon a request of level 1, the priority of level 1 can be succeeded.